﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AMS.PizzaDecoratorDemo
{
    public abstract class PizzaDecorator : IPizza
    {
        protected IPizza _pizza;
        protected string _name;
        protected double _baseValue;

        public PizzaSize Size
        {
            get { return _pizza.Size; }
            set { _pizza.Size = value; }
        }

        public PizzaDecorator(IPizza pizza)
        {
            _pizza = pizza;
            _name = SetName();
            _baseValue = SetBaseValue();
        }

        public abstract double GetPrice();
        public abstract string GetDescription();
        protected abstract string SetName();
        protected abstract double SetBaseValue();
    }
}
